package com.yanggu.spark.core.rdd.transform.value

import org.apache.spark.{SparkConf, SparkContext}

//filter算子
object RDD07_Filter {

  def main(args: Array[String]): Unit = {

    //1. 创建SparkConf
    val sparkConf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("mapOperator")

    //2. 创建SparkContext
    val sparkContext = new SparkContext(sparkConf)

    val dataRdd = sparkContext.makeRDD(1 to 6, 2)

    //3. filter算子。将数据根据指定的规则过滤, 符合规则保留, 不符合直接丢弃
    //当数据进行筛选后, 分区不变, 分区内的数据可能不均衡, 可能造成数据倾斜
    val value = dataRdd.filter(_ % 2 == 0)

    //4. 打印
    value.collect().foreach(println)

    //释放资源
    sparkContext.stop()
  }

}
